package com.weishi.project.training.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.weishi.project.api.ret.AnnualPlanRet;
import com.weishi.project.api.vo.DictVo;
import com.weishi.project.sport.home.vo.AnnualPlanRetVO;
import com.weishi.project.training.domain.AnnualPlan;
import com.weishi.project.training.domain.TrainingGroupChannel;

import java.util.List;
import java.util.Map;

/**
 * annualPlanService接口
 */
public interface IAnnualPlanService extends IService<AnnualPlan> {

    /**
     * 查询annualPlan列表
     */
    List<AnnualPlan> selectAnnualPlanList(AnnualPlan annualPlan);


    /**
     * 根据id获取训练周期详情
     * @param id
     * @return AnnualPlan
     */
    AnnualPlan getAnnualPlanById(int id);

    /**
     * 更新当前id下的训练周期信息
     * @param annualPlan
     */
    void updateAnnualPlanById(AnnualPlan annualPlan);

    List<AnnualPlanRet> selectAnnualPlanRetListByNaturalYearId(int naturalYearId,boolean weekRetListDate);

    /**
     * 重新封装返回值
     */
    List<AnnualPlanRetVO> selectAnnualPlanRetListByNaturalYearIdVO(int naturalYearId, boolean weekRetListDate);
    /**
     * 查询字典一级项目所有值 用于关联二级项目
     * @return
     */
    List<DictVo> getDictVoOneList();

    /**
     * 根据一级项目的值作为查询条件查询对应的二级项目
     * @param dictType
     * @return
     */
    List<DictVo> getDictVoTwoList(String dictType);

    List<TrainingGroupChannel> getAchievementList();

    void updateAchievementMs(Map<String,Object> params);
}